import { createStore } from 'redux'

// 1. createStore 创建仓库
// createStore()
// 1. reducer
// 2. action
// state - action

// 默认仓库
const defaultState = {
  list: [
    { id: 1, count: 1 },
    { id: 2, count: 2 },
  ],
}

// reducer 纯函数，只能接收外部传入的命令，然后去修改自己的数据，然后，把修改好的数据，包装一层引用，返回出去
const reducer = (state = defaultState, action) => {
  console.log(action, 'action')
  // 接受外部传入的 命令，

  // 1. 做判断接收命令
  // if (action.type === 'add') {
  //   // 2. 基于命令处理数据
  //   const newState = JSON.parse(JSON.stringify(state))
  //   newState[0].count++
  //   // 3. 返回处理结果
  //   return newState
  // }
  // 处理state
  // 返回state
  if (action.type === 'add') {
    const newState = JSON.parse(JSON.stringify(state))
    newState.list[0].count += action.payload.num
    console.log(newState, 'new--Stat返回的store数据')
    return newState
  }
}

const store = createStore(reducer)

export default store
